// pages/bindingMobile/bindingMobile.js
var app = getApp();
const tool = require('../../config/tool.js');
import { getCode, bindMobile } from '../../config/https';
import Notify from '../../vant/notify/notify';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    codeMsg: "获取验证码", //定时器总秒数
    disable: false,  //禁用按钮
    code: null,
    mobile: null
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  //获取用户输入的手机号
  mobileInputEvent(e) {
    this.data.mobile = e.detail.value
  },
  //获取用户输入的验证码
  codeInputEvent(e){
    this.data.code = e.detail.value
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    clearInterval(this.codeV)
  },

  // 获取验证码
  getCodeMsg(){
    this.data.disable || this.verification()
  },

  verification() { // 获取验证码倒计时
    const mobile = this.data.mobile;
    if (!tool.u_Reg(mobile, 'notEmpty')) {
      this.failNot("请填写手机号码!")
      return
    }
    if (!tool.u_Reg(mobile, 'phone')) {
      this.failNot("手机号码有误，请重新填写!")
      return
    }
    getCode({
      user_id: app.globalData.user_id,
      mobile
    }).then( res => {
      this.succNot('获取验证码成功')
      var coden = 60;   // 定义60秒的倒计时
      this.setData({
        codeMsg: coden + 's',
        disable: !this.data.disable
      })
      this.codeV = setInterval(() => {
        this.setData({
          codeMsg: (--coden) + 's'
        })
        if (coden == 0) {
          clearInterval(this.codeV)
          this.setData({
            codeMsg: '获取验证码',
            disable: !this.data.disable
          })
        }
      }, 1000)
    })
    
  },

  formSubmit(e){
    const data = e.detail.value;
    if (!tool.u_Reg(data.mobile, 'notEmpty')) {
      this.failNot("请填写手机号码!")
      return
    }
    if (!tool.u_Reg(data.mobile, 'phone')) {
      this.failNot("手机号码有误，请重新填写!")
      return
    }
    if (!tool.u_Reg(data.code, 'notEmpty')) {
      this.failNot("请填写验证码!")
      return
    }
    Object.assign(data,{
      user_id: app.globalData.user_id,
    })
    bindMobile(data).then(res => {
      this.succNot('绑定手机号码成功')
      setTimeout(function(){
        wx.navigateBack()
      },1000)
    }).catch( err => {
      this.failNot(err || '验证码错误')
    })
  },

  succNot(msg){
    Notify({
      text: msg,
      backgroundColor: '#1989fa'
    });
  },

  failNot(msg) {
    Notify({
      text: msg,
      backgroundColor: '#f44'
    });
  },
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    clearInterval(this.codeV)
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})